package com.mxpio.erp.common.inventory.service;

import java.math.BigDecimal;
import java.util.Collection;
import java.util.Map;

import com.mxpio.erp.common.inventory.entity.Lot;
import com.mxpio.erp.common.jpa.entity.BizNoticeType;
import com.mxpio.erp.common.jpa.model.Notice;
import com.mxpio.erp.common.jpa.model.Order;
import com.mxpio.erp.common.vo.InvFlowSummaryVo;
import com.mxpio.erp.common.vo.OrderExcuteLineVo;
import com.mxpioframework.system.service.BaseService;

public interface LotService extends BaseService<Lot> {
	
	public String getNewLot(Order order, OrderExcuteLineVo vo);
	
	public String getNewLot(Notice notice, OrderExcuteLineVo vo, Map<String, BizNoticeType> typesMap);

	public BigDecimal getStock(String whCode, String itemCode, String lotNo);

	public BigDecimal getMaxQuantityByWo(String woBizNo, String woBizLineNo);

	/**
	 * 获取已执行批次
	 * @param bizNo
	 * @param lineNo
	 * @param accessType
	 * @param whCode
	 * @return
	 */
	public Collection<InvFlowSummaryVo> getExecutedInvFlows(String bizNo, String lineNo, String accessType, String whCode);

}
